home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
S-Sound and Music
/
(c)sk.d64
/
magic sid v2.2
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
11KB
|
292 lines
10 GOTO230
20 ********************************
30 * * MAGIC SID MACHINE V2.2 * *
40 * A MODIFICATION OF 'MAGIC *
50 * MUSIC MACHINE' V2.0 WRITTEN *
60 * BY DAVE SCHMOLDT *
70 * *
80 * ADAPTED TO RUN SIDPLAYER *
90 * FILES, USING ROUTINES FROM *
100 * THE BOOK 'ALL ABOUT THE *
110 * COMMODORE 64' VOLUME 2 *
120 * BY CRAIG CHAMBERLAIN *
130 * *
140 * ALL MUSIC FILES TO BE USED *
150 * BY THIS PROGRAM MUST HAVE THE*
160 * '.MUS' EXTENSION AFTER THE *
170 * FILENAME. *
180 * HANDLES UP TO 144 FILES/DISK *
190 * *
200 * TERRY KRYGER [71106,221] *
210 * 3/20/86 *
220 ********************************
230 DIMPL$(144),PN$(144),SE(144),TX$(5):DN=8:SA=780:SX=781:SY=782:SP=783
240 GOSUB2160
250 OV$=""
260 DO$="":RO$="[146]":U$="[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]"
270 BL$=" "
280 O$="O O"
290 OO$="OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
300 IFF=0THENPRINTCHR$(147)
310 GOSUB590:IFF=1THEN370
320 PRINT"[147]";:POKE53280,0:POKE53281,0
330 FORS=55296TO55335:POKES,0:POKES+960,0:NEXT
340 FORS=1024TO1063:POKES,244:POKES+960,244:NEXT
350 PRINT"[144]";:A$=" THE MAGIC SID MACHINE 2.2 ":GOSUB610
360 PRINTDO$;:A$=" DAVE SCHMOLDT / T. KRYGER ":GOSUB610
370 PRINT"":IFF=0THEN1250
380 WAIT56320,16
390 POKESS,7:Q=0
400 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2:NEXT
410 PRINT"";:IFF=0THENGOSUB640
420 PRINT"[146]";:F=1
430 PRINT"";:A$=BL$:GOSUB610
440 PRINT"";:A$=BL$:GOSUB610
450 PRINT"[145]";:FORX=1TO5:PRINTLEFT$(DO$,10+X);:A$=TX$(X):GOSUB610:NEXT
460 A$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
470 PRINT"";:CO=149
480 FORC=1TO9
490 CO=INT(1+RND(1)*14):POKE646,CO:PRINTLEFT$(DO$,C+1);A$;DO$;LEFT$(U$,C);A$;
500 GETRE$:IFRE$=" "THENPOKESS,0:SYSDP:R=0:FORL=54276TO54296:POKEL,0:NEXT
510 IFRE$=" "THEN870
520 IFRE$<>"^"THEN550
530 POKESS,0:SYSDP:FORL=54276TO54296:POKEL,0:NEXT:F=0:SD=A
540 GOSUB590:GOTO1250
550 NEXT:PRINT"";
560 IFPEEK(SS)THEN480
570 SYSDP
580 FORL=54276TO54296:POKEL,0:NEXT:GOTO870
590 PRINT"";:FORJK=1TO23:PRINTBL$;" ";:NEXT
600 PRINT"";CHR$(142):RETURN
610 PRINTSPC(20-LEN(A$)/2)A$;:RETURN
620 GETKE$:IFKE$=""THEN620
630 RETURN
640 GOSUB590:PRINT"[146]";:A$="[156]PRESS ANY KEY WHEN READY"
650 POKE646,4:GOSUB610:GOSUB620:GOSUB590:Q=0
660 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2: NEXT
670 PRINT"[158]":A$="READING DIRECTORY":GOSUB610:PRINT
680 X=1:OPEN15,8,15,"I0":CLOSE15:A$=""
690 OPEN8,8,0,"$0":FORC=1TO8:GET#8,A$:NEXT:C=1:DN$="":FORC=1TO16
700 GET#8,A$:DN$=DN$+A$:NEXT:GET#8,A$:GET#8,A$:GET#8,A$
710 DN$=DN$+A$:GET#8,A$:DN$=DN$+A$:GET#8,A$:GET#8,A$:DN$=DN$+"/"+A$
720 GET#8,A$:DN$=DN$+A$:GET#8,A$:C=1:PRINT"DISK TITLE ---> [156]"DN$:PRINT
730 FORH=1TO4:GET#8,A$:NEXT
740 GET#8,A$:IFST<>0THEN860
750 IFA$=""THEN860
760 IFASC(A$)<>34THEN740
770 GET#8,A$:IFASC(A$)<>34THENPN$=PN$+A$:GOTO770
780 GET#8,A$:IFASC(A$)=32THEN780
790 GET#8,A$:IFA$<>""THEN790
800 PRINTLEFT$(DO$,16);" ";
810 A$=" "+ PN$:PRINT"[145]";:GOSUB610
820 IFRIGHT$(PN$,4)<>".MUS"THEN840
830 PL$(X)=PN$:X=X+1
840 PN$=""
850 IFST=0THEN730
860 CLOSE8:A=X:NS=A-1
870 GOSUB590:PRINT"";
880 IFSK=1THEN1920
890 IFFY=1THEN1890
900 IFFG=1THEN1870
910 IFFR=1THENGOSUB1740:GOTO1250
920 GOSUB590
930 V=1:NS=A-1:Q=0:NP=INT((A-1)/26)+1:PG=0:FORI=1TOA:SE(I)=.:NEXT
940 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2:NEXT
950 PRINT"[154]";:EP=26*PG+26:IFPG=NP-1THENEP=(A-1)
960 FORCA=PG*26+1TOEP
970 IFCA>(PG*26+13)THENPRINTLEFT$(OV$,CA+10-(26*PG));:GOTO990
980 PRINTLEFT$(DO$,CA-(26*PG)+4);
990 PRINT""CHR$(CA+64-(26*PG))RO$+" ";
1000 IFSE(CA)THENPRINT"";
1010 PRINTLEFT$(PL$(CA),LEN(PL$(CA))-4)"[154]"
1020 NEXT
1030 PRINTLEFT$(DO$,21);
1040 A$="[158]ENTER YOUR CHOICES IN ANY ORDER":GOSUB610
1050 PRINTLEFT$(DO$,23);
1060 A$=" RETURN[158]=MENU SPACE[158]=DONE"
1070 IFCA>26THENA$="F7[158]=MORE"+A$
1080 GOSUB610
1090 PRINT"[156]";
1100 GETAN$:IFAN$=""THEN1100
1110 IFAN$="[136]"THENPG=PG+1:IFPG>(NP-1)THENPG=0
1120 IFAN$="[136]"THENGOSUB590:GOTO950
1130 IFAN$=CHR$(13)THENGOSUB590:GOSUB1250
1140 IFAN$=" "ANDV=1THENGOSUB590:GOTO1250
1150 IFAN$=" "THENFORT=1TOV:PL$(T)=PN$(T):NEXT:A=V-1:FY=1:GOTO1800
1160 REM DONE CHOOSING
1170 IFASC(AN$)<65ORASC(AN$)>90THEN1100
1180 N=ASC(AN$)-64+(26*PG):PN$(V)=PL$(N):SE(N)=1
1190 IFN>CA-1THEN1100
1200 IFN<1THEN1100
1210 IFN>(PG*26+13)THEN1230
1220 FORI=55418TO55434:POKEI+(N-(26*PG))*40,1:NEXT:GOTO1240
1230 FORI=55437TO55453:POKEI+(N-13-(26*PG))*40,1:NEXT
1240 V=V+1:GOTO1100
1250 TT=0:PRINT"[158]";:CLOSE15
1260 FORS=55296TO55335:POKES,0:POKES+960,0:NEXT
1270 PRINTCHR$(14):PRINT"";OO$;
1280 PRINTO$;:PRINT"O 1. [195]REATE OR UPDATE A DIRECTORY FILE O";O$;
1290 PRINT"O 2. [195]HOOSE SONGS FROM DIRECTORY FILE O";O$;
1300 PRINT"O 3. [195]HOOSE SONGS (NO DIRECTORY FILE) O";O$;
1310 PRINT"O 4. [208]LAY ALL SONGS IN DIRECTORY FILE O";O$;
1320 PRINT"O 5. [208]LAY ALL SONGS ON DISK (NO FILE) O";O$;
1330 PRINT"O 6. [211]END DIRECTORY FILE TO PRINTER O";O$;
1340 PRINT"O 7. [197]ND O";O$;
1350 PRINTOO$
1360 T1$="OOOOOOOOOOOOOOOOOOOO":B1$=T1$
1370 T2$="OOOOOOOOOOOOOOOOOOOO":B2$=T2$
1380 R1$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O[157]O"
1390 R2$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O"
1400 L1$="[145][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O"
1410 L2$="[145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O"
1420 TT$=" [212]HE [205]AGIC [211]ID [205]ACHINE "
1430 B1$=""+T1$+R1$+B1$+L1$:B2$=""+T2$+R2$+B2$+L2$:H=2
1440 PRINTB1$:PRINTB2$:PRINTTT$
1450 POKE646,H:H=H+1:IFH=16THENH=2
1460 GETA$:IFA$=""THEN1440
1470 POKE646,14
1480 IFA$="1"THENFR=1:SK=0:FG=0:FY=0:GOTO640
1490 IFA$="2"THENSK=0:FG=0:FY=0:SD=0:FR=0:GOTO1570
1500 IFA$="3"THENSK=0:FG=0:FR=0:FY=0:GOTO640
1510 IFA$="4"THENSK=1:GOTO1570
1520 IFA$="5"THENSD=0:SK=0:FR=0:FY=0:FG=1:GOTO640
1530 IFA$="6"THENSD=0:SK=0:FR=0:FY=0: FP=1:GOTO1570
1540 IFA$="7"THENGOSUB590:PRINT"[147][158]";CHR$(142):END
1550 GOTO1360
1560 REM **LOAD DIR**
1570 GOSUB590:A$="READING DIRECTORY FILE.....":PRINT"":GOSUB610:CLOSE8
1580 OPEN15,8,15,"I0:":OPEN8,8,8,"SIDCAT,S,R":INPUT#15,Y,B$,C,D:CLOSE15
1590 IFY=62THEN1620
1600 IFFP=1THENCLOSE4:OPEN4,4,7
1610 CLOSE8:OPEN8,8,8,"SIDCAT,S,R": PRINT""
1620 IFY=62THENPRINT"":A$="YOU MUST CREATE A FILE FIRST":GOSUB610:CLOSE8
1630 IFY=62THEN FORDE=1TO2000: NEXTDE:GOSUB590:CLOSE15:GOTO1250
1640 INPUT#8,DN$:IFFP=1THENPRINT#4," ":PRINT#4,DN$:PRINT#4," "
1650 INPUT#8,A
1660 FORWE=1TOA
1670 INPUT#8,PL$(WE)
1680 IFFP=1THENPRINT#4,PL$(WE)
1690 NEXT
1700 IFFP=1THENFP=0:PRINT#4," ":PRINT#4," ":CLOSE4:CLOSE8:GOSUB590:GOTO1250
1710 IFSK=1THENCLOSE8:CLOSE15:GOTO1800
1720 CLOSE8:CLOSE15:A=A+1:GOTO920
1730 REM ** WRITE DIRECTORY FILE **
1740 GOSUB2820:GOSUB590
1750 A$="WRITING DIRECTORY FILE":GOSUB610:CLOSE8:OPEN15,8,15,"S0:SIDCAT"
1760 CLOSE15:OPEN8,8,8,"SIDCAT,S,W"
1770 PRINT#8,DN$:PRINT#8,A-1
1780 FORQW=1TOA-1:PRINT#8,PL$(QW):NEXT
1790 CLOSE8:R=0:GOSUB590:RETURN
1800 GOSUB590:F=1:SD=1
1810 PT$=LEFT$(PL$(SD),LEN(PL$(SD))-4):F=1:REM PT$=FILE NAME TO PRINT
1820 PRINT"[158]";:A$="[SPACE] WILL STOP SONG DURING PLAY":GOSUB610
1830 PRINTLEFT$(DO$,19);:A$="^ = BACK TO MENU":GOSUB610
1840 PRINT"";:A$="LOADING "+PT$:GOSUB610:CF=FRE(0)
1850 F$=PL$(SD):LA=PEEK(49)+256*PEEK(50)+1000:GOSUB1940:REM LOAD SONG
1860 SYSHK:POKESX,LO:POKESY,HI:SYSPL:GOSUB2040:GOTO310
1870 IFFG=1THENSD=SD+1:IFSD>A-1THEN1250
1880 IFFG=1THEN1810
1890 IFFY=1THENSD=SD+1
1900 IFSD>ATHEN1250
1910 GOTO1810
1920 SD=SD+1:IFSD>ATHENGOTO1250:REM INCREMENT COUNTER
1930 GOTO1810
1940 POKESA,1:POKESX,DN:POKESY,0:SYS65466:GOSUB1980
1950 HI=INT(LA/256):LO=LA-256*HI
1960 POKESA,0:POKESX,LO:POKESY,HI:SYS65493:IFPEEK(SP)AND1THEN2000
1970 LA=PEEK(SX)+256*PEEK(SY):RETURN
1980 FORK=1TOLEN(F$):POKE584+K,ASC(MID$(F$,K)):NEXT
1990 POKESA,LEN(F$):POKESX,73:POKESY,2:SYS65469:RETURN
2000 P=PEEK(SA):PRINT"[147] ERROR: ";:IFP=4THENPRINT"FILE NOT FOUND":END
2010 IFP=5THENPRINT"DEVICE NOT PRESENT":END
2020 PRINTST:END
2030 REM ** GET TEXT **
2040 FORI=1TO5:TX$(I)="":NEXT:CT=0
2050 TX=PEEK(SX)+256*PEEK(SY)
2060 CT=CT+1:IFCT>5THENRETURN
2070 PX=PEEK(TX):IFPX=0THENRETURN
2080 IFPX=13THENTX=TX+1:GOTO2060
2090 IFPX=32THENTX=TX+1:GOTO2070
2100 IFPX=34THENPX=39
2110 TX$(CT)=TX$(CT)+CHR$(PX):TX=TX+1:IFLEN(TX$(CT))>39THEN2060
2120 PX=PEEK(TX):IFPX=0THENRETURN
2130 IFPX=13THENTX=TX+1:GOTO2060
2140 IFPX=34THENPX=39
2150 GOTO2110
2160 SS=49152:HK=49423:PL=49446:DP=49620:PRINT"[147] PLEASE WAIT..."
2170 P1=PEEK(648):POKE648,192 :A$=CHR$(34)+CHR$(34)+CHR$(20)
2180 POKE53280,8:PRINT"";:PRINT:PRINT:PRINT:PRINT
2190 PRINT"@@@@@@@@@@@@@@@@@@@@@@@@@[204]F[194][146][204]X[197][163][193][146]@@[201][192][201][192][201][192][146][160]ABD@GNA@[191][146]@BDEG";
2200 PRINT"IK^XK[146][190][186][146]F,[179][166]O[184][146].FNV_(3=[200][212][161][174][189]L[146][184][164][208]<(T@@BCEGH";
2210 POKE53280,7:POKE648,193:PRINT:PRINT:PRINT"";
2220 PRINT"JLMOQR@[160][146]@DHL[185][146]@[181][146][184]"A$"[146]B=[146]SC][192][192]=>[192]][146]SC[202][208][177]N[146]@[192][146][216]";
2230 PRINT"[160])[146]@M[146]@[192]F[187]D[188] 8Y[146]@[192]H[208][186]M[146]U[212]M[146]V[212])[146]HM[146]\[192]M[146]W[212]M[146]][192]M[146]X";
2240 PRINT"[212])PM[146]^[192])[146]LM[146]_[192])[212]E[190]"A$"[146]B)[146]A][146]![192])[146]D][146]'[192]=[146]H[193]][146][190][192]";
2250 PRINT"=[205][192]E[189])[146]@(Q[189][200]Q[189][200]Q[189])[146]H][146]N[192]][146][163][192][200]Q[189][200]Q[189])[146][192]][146]Q[192]Q[189])[146] ][146]T";
2260 PRINT"[192][200]Q[189])[181]][146]W[192][200]Q[189][202][146]P8%[187][146]X[169]FE[189])[146]@*([146][165][188]E[190]][146][178][192]][146][184][192]%[189]][146][175]";
2270 PRINT"[192]][146][181][192][146]X[177][187]E[189]%[190][200][146][177][187][200][168][160][146]C[208][160]&[189]([146][160][184]-[193][192]M[146]TC-[194][192]M[146]UC[216][160]-[146]M";
2280 PRINT"[220]-[146]@[192][146]0"A$"I@([146])G[176][146]X[216]L[146]@[192])[212]E[188][146][216]"A$"[146]C=[146]Z[192]";
2290 POKE53280,6:POKE648,194:PRINT:PRINT:PRINT"";
2300 PRINT"][146]U[212][202][146]P[183])[212]E[188][176][146][180][168][146]0[172]-[146]@[192][146]=[202][192][176][146]+=[205][192]E[187]=[146]E[192] [146]@Q[187]=[146]H";
2310 PRINT"[192][200]Q[187]=[146]K[192][200]Q[187]=[146]N[192][200]Q[187]=[146]T[192][200][200]Q[187]=[146]W[192][200]Q[187][168][160][146]C[208][200]-[146]Q[192].[146]R[192],";
2320 PRINT"[146]S[192]M[146]D[212]N[146]K[212]L[146]R[212]"A$"[146]@-[146]@[192][146]=[202][192][176][146]MN[146] [192][146] 9[192]-[146]@[192][146])";
2330 PRINT"[184][208][146]M[168][160][146]C[208][166]-[146]@[192][146])[191],)[146]HM[146]@[192][146][172][193][192][146][172][195][192][255][146]![192][176][146][209]=[146]$[192]";
2340 PRINT"[146]0[179][208][146]P=[146]'[192][221][146]![192]P[146]H=[146]Q[192][146])[190]][146]Q[192]=[146]*[192][176][146][214]J=[146]E[192]0[146]1[189]-";
2350 PRINT"[192]][146]E[192](=[146]H[192][146][189]0[192]][146]H[192][146][200]X[221][146][212][192][146][168][189][146][215][192]P[146]3=[146][212][192]][146]E[192]=[146][215]";
2360 PRINT"[192]][146]H[192])[146]@][146]*[192][146]XP[146]_[176][146][181][189][146]-[192]][146]E[192]=[146]H[192][189][146]0[192]][146]H[192]=[146][212][192]";
2370 PRINT"[221][146]E[192]=[146][215][192][189][146]H[192]0[205]P[146][165]=[146]3[192]";
2380 POKE53280,5:POKE648,195:PRINT:PRINT:PRINT"";
2390 PRINT"[176][146][160] [146]@[255][146]6[192][208][146]1=[146]9[192][146]]<[192][208][146][=[146][197][192]][146]?[192]][146]6[192]=[146]3[192][146]J=[146][194]";
2400 PRINT"[192]P[146]D[201][191][146][169]@][146]3[192][208][146]P=[146]?[192]][146]6[192]X[146]8[189][146]3[192]][146]3[192][201][146]@PAH[146]X[189]9";
2410 PRINT"[192]][146]9[192][146][200]X[146][189]<[192]][146]<[192]([146][168]XP[146]B[176][146][200][189][212][192]][146]E[192]X[146][189][215][192]][146]H[192]=[146][218]";
2420 PRINT"[192][176][146]PX[189]K[192]][146]K[192]=[146][221][192][146][189]N[192]][146]N[192] [146]@=[146][169][192][176][146]\PA[200][146]X[173]Z[192][146][200])G";
2430 PRINT"M[146]Z[192][146][168][170][202][202]X[185]F[193][146]X[173][[192]M[146][[192][146][172][195][192]=[146][175][192]E[189]=[146][178][192]E[190][208][146]F[172][197][192][146] <";
2440 PRINT"[192]-[146]@[192][146]=[202][192][176][178] [146]@1[189]E[191][200]1[189](%[189][146]X[169]BE[189]][146][175][192]%[190][146][169]@E[190]][146][178][192]%[191][146])";
2450 PRINT"C[208][210]=[146][212][192]][146]E[192]=[146][215][192]][146]H[192]X][146]B[192][146])8[202][202][202][189][200][192]E[189]X[146])[192][146]J**(9[207][192]";
2460 PRINT"E[190]";
2470 POKE53280,4:POKE648,196:PRINT:PRINT:PRINT"";
2480 PRINT"=[146]B[192][146])G[176][146][166][176]T(9[210][192][146][165][190][146]X[189][203][192][146]PEX[169]L[166][189][201][146]LP[146]D[169][146]L[198][189]E[190](%";
2490 PRINT"[191][146][200]9[166][192]E[191]9[218][192]$[189]H[146]0F[198][191][146][170]H[146]P[186][146]X[189][206][192]][146][212][192]%[191][146][189][209][192]][146][215][192][146][168]E";
2500 PRINT"[191][146])\[176]6=[146]-[192][146]]0[192][176][146]V=[146]E[192][221][146][212][192]=[146]H[192][189][146][215][192])[190][146][170]][146]*[192]P[146]Q[176]";
2510 PRINT"[146][202]][146]*[192]=[146][212][192]][146]E[192]=[146][215][192]][146]H[192]=[146]$[192][146]J[208][146]5=[146][218][192][176][146]L=[146][160][192]][146]K";
2520 PRINT"[192]=[146][163][192]][146]N[192]=[146][166][192][176][146]O$[189][146]X[185][178][192]$[190][146]X[185][186][192][146]XP[146]H=[146][169][192][176][146]K=[146][172]";
2530 PRINT"[192]M[146][[192])[146]@M[146]Z[192]%[191]([146]) E[191]X[146])[192]][146]$[192]X[146])\[202][202](-[146]_[192]H[176][146]\-[146]^";
2540 PRINT"[192][208][146]A8H[176][146]F[170]0[146]1H[208][186]$[191]E[191][176][146]G[202]0[146]%[165][191]0[146]$][146]![192]=[146]Q[192][146])[182]][146]Q";
2550 PRINT"[192][146]8=[146]B[192][146])G[208]";
2560 POKE53280,3:POKE648,197:PRINT:PRINT:PRINT"";
2570 PRINT"[146]C[190]$[192]=[146]Q[192][146][169]@][146]Q[192][146][172][197][192])[146]P,)[146]XM[146]@[192][146][160]X[146][200]%[191][146][202]0[146][176][202][202]";
2580 PRINT"0[146]^[202]0[146]N][146][163][192]][146]N[192][146][168]][146][160][192]][146]K[192][146][160][202]P[146]BI[184]][146][209][192][146][168]][146][206][192]";
2590 PRINT"[146][160][202]P[146]K[202][168]0[146]F][146][172][192]M[146][[192][146][160]([176][146]"A$"[168]H[176][146]#H[176][146]$H[176][146]%H[176][146]2H";
2600 PRINT"[176][146]3H[176][146]<H[176][146]=H[176][146][217]H[176][146][218]H[176][146][219][172][199][192][146][168]M[146]^[192][146][160]M[146]_[192][146][160]][146]'[192]";
2610 PRINT"[146][160]][146][187][192]%[189]][146][181][192]%[190]][146][184][192][146][160]0[146][213]M[146]A[192][146][160]][146][218][192][146]JP[146]AHX][146][221][192]";
2620 PRINT"[146][160]][146][169][192][146][160]([208][146]D][146]3[192][146][160]][146][194][192]<[146]3[192][208][146]O][146]3[192]X][146]9[192]][146]<[192])[146]A";
2630 PRINT"][146]6[192][146][160]][146][197][192][146][160]][146][166][192][146][160][202]P[146]B[200][146]X[200])G[185]L[193]][146][200][192][146][168][202][202][202]X[185]M[193]]";
2640 PRINT"[146][203][192][146][160][202]P[146]H][146]0[192][146][168]][146]-[192][146][160][168][202]0[146][213][202]0[146]%[202]0[146]E[202] [176][208][146]F";
2650 POKE53280,10:POKE648,198:PRINT:PRINT:PRINT"";
2660 PRINT"JJJJ [146]OE[191]X0[146]I=T[192][146]E[191]][146]T[192][146][160]=W[192][146]E[191]][146]W[192][146][160][202]0[146],[202]0[146][210]E";
2670 PRINT"[191]=[146][190][192][221][146]I[193][176][146][194][190][146][190][192](%[189]YA[192]%[190]YM[192]$[191]9)[192][176][146]*E[190]9Y[192]E[189][146][160]0[146][195][202]0";
2680 PRINT"[146]4(%[189]YY[192]%[190]Y)[192]=[146][190][192][221][146]I[193][176][146]M[190][146][190][192]()[146]@YM[192][146][160])[146]0,)[146](M[146]@";
2690 PRINT"[192][146][160]JJJJ[205]\[192][146])[176][146][205]\[192]P[146][175][205]][192][146])O[205]][192]M[146]][192][146][160][202][202]0[146][163][202]([176][146]WH";
2700 PRINT"[176][146]*H[176][146]6H[176][146]>H[176][146][198]-[146]][192][146])[191]P[146][178]I@0[146][174],[146]][192]0[146]G[200]X[146])O[208][146]G";
2710 PRINT"[160]X[146])O[176][146]DHL[146]][192][146][160]=[202][192][146][201][191][146]-\[192]P[146]$][202][192]0[146]_=[146]Q[192][146])[187]P[146]2I";
2720 PRINT"D0[146].=[146]Q[192][146])[189]P[146]'IB0[146]#-[146]\[192][146])[183]P[146]BIHM[146]\[192][146][160][202]0[146]'[202]0[146]T";
2730 PRINT"[208][146]B)[146]H";
2740 POKE53280,15:POKE648,199:PRINT:PRINT:PRINT"";
2750 PRINT"JJJJ[221]Q[192][146])[176][146][221]Q[192]][146]Q[192][146][160]JJJJ[205]][192][146])[176][205]][192]M[146]][192][146][160][202]([208][146]U=[146][187]";
2760 PRINT"[192][176][146]E[255][146][187][192][176][146]J=[146][181][192]E[189]=[146][184][192]E[190][146][160]H[208][146] =[146][190][192][221][146]H[193][176][146]R[255][146][190][192]";
2770 PRINT"(H9M[192][176][146]GE[190]9A[192]E[189][146][160])[146] M[146]@[192][146][160]-[146]@[192][146][221][202][192]M[146]@[192]HXQ[187][200]Q[187][146][160] ";
2780 POKE648,P1:PRINT""
2790 POKE49664,157:POKE49920,240:POKE50176,189:POKE53280,14
2800 RETURN
2810 REM *SORT*
2820 PRINT" WANT ALPHABETIZED DIRECTORY? (Y/N)"
2830 GETA$:IFA$=""THEN2830
2840 IFA$="N"THENRETURN
2850 IFA$="Y"THEN2870
2860 GOTO2830
2870 GOSUB590:PRINT"SORTING "
2880 FORI=1TO NS-1:FORJ=I+1TONS
2890 PRINT"";I;J
2900 IFPL$(J)<=PL$(I)THENTE$=PL$(J):PL$(J)=PL$(I):PL$(I)=TE$
2910 NEXT:NEXT:RETURN